package com.funsport.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.funsport.entity.Friend;
import com.funsport.entity.FriendRequest;
import com.funsport.entity.User;

import java.util.List;

/**
 * 好友服务接口
 */
public interface IFriendService extends IService<Friend> {
    
    /**
     * 发送好友申请
     */
    boolean sendFriendRequest(Long fromUserId, Long toUserId, String message);
    
    /**
     * 接受好友申请
     */
    boolean acceptFriendRequest(Long requestId, Long userId);
    
    /**
     * 拒绝好友申请
     */
    boolean rejectFriendRequest(Long requestId, Long userId);
    
    /**
     * 删除好友
     */
    boolean deleteFriend(Long userId, Long friendId);
    
    /**
     * 获取好友列表
     */
    List<User> getFriendList(Long userId);
    
    /**
     * 获取好友申请列表
     */
    List<FriendRequest> getFriendRequests(Long userId);
    
    /**
     * 检查是否是好友
     */
    boolean isFriend(Long userId, Long friendId);
    
    /**
     * 搜索用户
     */
    List<User> searchUsers(String keyword);
}

